/*
 * Copyright 2006-2022 ahtelit.com, All Rights Reserved.
 */

package com.telit.firecommand.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;


/**
 * EmergencyAffairsDTO
 *
 * @author yuezhuang
 * @since 2023-02-19
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "EmergencyAffairsDTO", description = "应急事务DTO")
public class EmergencyAffairsDTO implements Serializable {

    private static final long serialVersionUID = -1L;

    @ApiModelProperty(value = "ID", required = true)
    private Long id;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间", required = true)
    private Date createdAt;

    @ApiModelProperty(value = "创建人", required = true)
    private Long createdBy;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间", required = true)
    private Date updatedAt;

    @ApiModelProperty(value = "修改人", required = true)
    private Long updatedBy;

    @ApiModelProperty(value = "逻辑删除标记", required = true, allowableValues = "true,false", hidden = true)
    private boolean deleted;

    @ApiModelProperty(value = "用户id")
    private Long userId;

    @ApiModelProperty(value = "行政区划编码")
    private String districtCode;

    @ApiModelProperty(value = "行政区划名称")
    private String districtName;

    @ApiModelProperty(value = "用户名称")
    private String userName;

    @ApiModelProperty(value = "用户手机号")
    private String mobile;

    @ApiModelProperty(value = "部门id")
    private Long deptId;

    @ApiModelProperty(value = "部门名称")
    private String deptName;

    @ApiModelProperty(value = "职务")
    private String duty;

    @ApiModelProperty(value = "班次id")
    private Long attendId;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "提交时间")
    private Date submitAt;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "发生时间")
    private Date timeAt;

    @ApiModelProperty(value = "标题")
    private String title;

    @ApiModelProperty(value = "地点")
    private String place;

    @ApiModelProperty(value = "经度")
    private String longitude;

    @ApiModelProperty(value = "纬度")
    private String latitude;

    @ApiModelProperty(value = "事件类型：1-突发事务 2-领导通知")
    private Integer eventType;

    @ApiModelProperty(value = "现场情况")
    private String siteSituation;

    @ApiModelProperty(value = "当前情况")
    private String currentSituation;

    @ApiModelProperty(value = "处置记录")
    private String disposal;

    @ApiModelProperty(value = "事务描述")
    private String description;

    @ApiModelProperty(value = "领导指示记录")
    private List<LeaderInstructDTO> leaderInstructDTOS;

}
